class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.__money = 1000  # __init__中定义的以"__"开头的变量是私有属性

    def test(self):
        print(self.__money)  # 私有属性在类内可以访问

    def get_money(self):
        return self.__money

    def set_money(self, money):
        self.__money = money

    def __test(self):
        print('__开头的函数是私有函数，调用规则同私有属性')


p1 = Person('topson', 29)
# print(p1.money)# 私有属性不能通过实例化对象直接获取
p1.test()

# 获取私有变量的方式
# 1.object._<class_name>私有变量
print(p1._Person__money)
# 2.定义set和get方法获取
p1.set_money(10)
print(p1.get_money())
# 3.使用property来获取
